package com.xinli.business.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinli.common.annotation.Excel;
import com.xinli.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * IM通知对象 lf_notice
 *
 * @author ruoyi
 * @date 2025-04-11
 */
@Data
@TableName(value = "lf_notice")
public class LfNotice  {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * "发送者id"
     */
    @Excel(name = "发送者id")
    private Long senderId;

    /**
     * "接收者id"
     */
    @Excel(name = "接收者id")
    private Long receiverId;

    /**
     * "类型 1 系统  2 私信   3 邀请问答   4  预约成功后  "
     */
    @Excel(name = "类型 1 系统  2 私信   3 邀请问答   4  预约成功后 ")
    private String type;

    /**
     * "内容类型  1  文本 2图片"
     */
    @Excel(name = "内容类型  1  文本 2图片")
    private String contentType;



    /**
     * "消息内容"
     */
    @Excel(name = "消息内容")
    private String information;

    /**
     * "是否已读"
     */
    @Excel(name = "是否已读")
    private Integer isRead;

    /**
     * "业务Id"
     */
    @Excel(name = "业务Id")
    private String extId;


    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;



    /**
     * "咨询师姓名"
     */
    @TableField(exist = false)
    private String  zxsname;

    /**
     * "咨询师头像"
     */
    @TableField(exist = false)
    private String  zxsavatar;


    /**
     * "用户姓名"
     */
    @TableField(exist = false)
    private String  username;

    /**
     * "用户头像"
     */
    @TableField(exist = false)
    private String  useravatar;


    /**
     * "对话历史"
     */
    @TableField(exist = false)
    private  List<LfNotice>  hislist;



    /**
     * "最新的一条记录"
     */
    @TableField(exist = false)
    private  LfNotice  lastNotice;


}
